﻿using System;
using System.Collections.Generic;
using SqlParameter = System.Data.SqlClient.SqlParameter;
using SqlDbType = System.Data.SqlDbType;
using IDataReader = System.Data.IDataReader;

namespace GamePlusClassLibrary
{
    public class UsuarioAmigo
    {
        public int? Idf_Usuario_Amigo { get; set; }
        public int Idf_Usuario { get; set; }
        public int Idf_Amigo { get; set; }
        public DateTime Dta_Cadastro { get; set; }

        public static List<Usuario> ListarAmigos(int pIdfUsuario)
        {
            List<Usuario> ls = new List<Usuario>();
            
            List<SqlParameter> param = new List<SqlParameter>();
            param.Add(new SqlParameter("@Idf_Usuario", SqlDbType.Int));
            param[0].Value = pIdfUsuario;

            string sQuery = @"SELECT * FROM UsuarioAmigo WHERE Idf_Usuario = @Idf_Usuario";

            List<int> lsIds = new List<int>();
            using (IDataReader iDr = DataAccessLayer.ExecuteReader(System.Data.CommandType.Text, sQuery, param))
            {
                while (iDr.Read())
                    lsIds.Add(int.Parse(iDr["Idf_Usuario"].ToString()));
            }

            lsIds.ForEach(delegate(int idUsuario) {
                ls.Add(Usuario.Carregar(idUsuario)); 
            });

            return ls;
        }
    }
}
